package leetcode_jz_offer.day5_research_array;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * 在字符串 s 中找出第一个只出现一次的字符
 * 如果没有，返回一个单空格。 s 只包含小写字母
 **/
public class Num50_第一个只出现一次的字符 {
    public char firstUniqChar(String s) {
        Map<Character,Integer> map=new LinkedHashMap<>();//key是元素，val是个数，并且保证有序放入
        for (int i = 0; i <s.length(); i++) {
            char ch=s.charAt(i);
//            if(map.containsKey(ch)){
//                map.put(ch, map.get(ch)+1);
//            }else {
//                map.put(ch,1);
//            }
            map.put(ch,map.getOrDefault(ch,0)+1);
        }
        for (Map.Entry<Character,Integer> entry: map.entrySet()) {
            if(entry.getValue()==1){
                return entry.getKey();
            }
        }
        return ' ';//循环完没有等于1的
    }
}
